package com.itheima.health.service;

import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.pojo.CheckGroup;

import java.util.List;

/**
 * @Author likepei
 * @Date 2020/2/7 14:39
 * @Version v1.0
 * @Description 检查组服务接口
 */
public interface CheckGroupService {
    /**
     * 分页查询
     * @param queryPageBean 前端页面发过来的数据( 当前页码, 每页条数, 查询条件)
     * @return 结果( 总记录数, 当前页要显示的10条检查组数据  )
     */
    PageResult pageQuery(QueryPageBean queryPageBean);

    /**
     * 添加检查组
     * @param checkGroup 前端页面传递过来的新增检查组的表单数据
     * @param checkitemIds 前端页面传递过来的新增检查组所关联的检查项ID
     */
    void add(CheckGroup checkGroup, Integer[] checkitemIds);

    /**
     * 基于检查组id 查询检查组对象
     * @param id 检查组id
     * @return 检查组对象
     */
    CheckGroup findById(Integer id);

    /**
     * 基于检查组Id 查询关联的检查项id
     * @param id 检查组Id
     * @return 多个检查项id
     */
    List<Integer> findCheckItemIdsByCheckGroupId(Integer id);

    /**
     * 更新检查组
     * @param checkGroup 前端页面传递过来的新增检查组的表单数据
     * @param checkItemIds 前端页面传递过来的新增检查组所关联的检查项ID
     * @return
     */
    void edit(CheckGroup checkGroup, Integer[] checkItemIds);

    /**
     * 查询所有检查组信息
     * @return
     */
    List<CheckGroup> findAll();
}
